using System.Linq;
using Magiq.Behaviors;
using Magiq.Query;

namespace Magiq.Databases.Query
{
    public interface IDatabaseQueryBehavior<T> : IMagiqBehavior
    {
        void Initialize(IDatabaseAdapter databaseAdapter, IQuery<T> query);
        DatabaseQuery<T> BuildDatabaseQuery();
        IQueryable<T> GetQueryableFrom(DatabaseQuery<T> databaseQuery);
    }
}